<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>

<title>Type (randoop 4.1.0 API)</title>

<link rel="stylesheet" type="text/css" href="../../javadocstyle.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Type (randoop 4.1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":9,"i6":9,"i7":10,"i8":6,"i9":10,"i10":6,"i11":6,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../randoop/types/Substitution.html" title="class in randoop.types"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../randoop/types/TypeArgument.html" title="class in randoop.types"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?randoop/types/Type.html" target="_top">Frames</a></li>
<li><a href="Type.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">randoop.types</div>
<h2 title="Class Type" class="title">Class Type</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>randoop.types.Type</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&gt;</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../randoop/types/PrimitiveType.html" title="class in randoop.types">PrimitiveType</a>, <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>, <a href="../../randoop/types/VoidType.html" title="class in randoop.types">VoidType</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Type</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&gt;</pre>
<div class="block">The superclass of a class hierarchy representing Java types defined in JLS Section 4.1. This
 class corresponds directly to <i>Type</i> defined in the JLS, which is defined by

 <pre>
   Type:
     ReferenceType
     PrimitiveType
 </pre>

 <p>The subclasses of this <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> class should be used to represent types in Randoop test
 generation rather than the reflection types. Using reflection, each Java type has a <code>Class&lt;?&gt;</code> object, including primitive types. But, things get a little complicated for generic and
 parameterized types, where the <code>Class</code> object represents the raw type of the generic class,
 but also carries the type parameters of the generic class. More information about types is
 available through the subinterfaces of <a
 href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Type.html"><code>java.lang.reflect.Type</code></a>, but working with generic and parameterized types is still awkward.
 This is in part because the correspondence to the JLS is unclear, but also because the provided
 methods do not implement all of the algorithms needed to work with types and type hierarchies as
 needed in Randoop. Effectively, the concrete subclasses of this class are facades for these
 reflective types, but they are identified with the definitions in the JLS, and provide the
 methods needed to test for assignability and test for subtypes.

 <p><a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> objects are constructed using the methods <a href="../../randoop/types/Type.html#forType-java.lang.reflect.Type-"><code>forType(java.lang.reflect.Type)</code></a>, <a href="../../randoop/types/Type.html#forClass-java.lang.Class-"><code>forClass(Class)</code></a>, or <a href="../../randoop/types/Type.html#forName-java.lang.String-"><code>forName(String)</code></a>. These
 methods translate the reflection types into objects of subclasses of this type.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#Type--">Type</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#apply-randoop.types.Substitution-">apply</a></span>(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</code>
<div class="block">Returns the type created by instantiating the type parameters of this type with <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a> objects.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#applyCaptureConversion--">applyCaptureConversion</a></span>()</code>
<div class="block">Applies a capture conversion to this type.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#compareTo-randoop.types.Type-">compareTo</a></span>(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;type)</code>
<div class="block">Compare this <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> to another.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#forClass-java.lang.Class-">forClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;classType)</code>
<div class="block">Translates a <code>Class</code> into a <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#forName-java.lang.String-">forName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;typeName)</code>
<div class="block">Returns a <code>Type</code> object for the given type name in <a
 href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getName--"><code>Class.getName</code></a> format.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static <a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#forType-java.lang.reflect.Type-">forType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type)</code>
<div class="block">Returns a type constructed from the object referenced by a <code>java.lang.reflect.Type</code>
 reference.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static <a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#forValue-java.lang.Object-">forValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Returns the type for the given Object reference.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#getCanonicalName--">getCanonicalName</a></span>()</code>
<div class="block">Returns the name of this type as the "canonical name" of the underlying runtime class.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#getName--">getName</a></span>()</code>
<div class="block">Returns the fully-qualified name of this type, including type arguments if this is a
 parameterized type.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#getRawtype--">getRawtype</a></span>()</code>
<div class="block">Returns the raw type for this type, which is this type except for generic types.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#getRuntimeClass--">getRuntimeClass</a></span>()</code>
<div class="block">Returns the runtime <code>Class</code> object for this type.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#getSimpleName--">getSimpleName</a></span>()</code>
<div class="block">Returns the name of this type without type arguments or package qualifiers.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#getUnqualifiedName--">getUnqualifiedName</a></span>()</code>
<div class="block">Returns the name of this type without package name, but with type arguments if parameterized,
 and enclosing class if a member class.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isArray--">isArray</a></span>()</code>
<div class="block">Indicates whether this object represents an array type.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isAssignableFrom-randoop.types.Type-">isAssignableFrom</a></span>(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;sourceType)</code>
<div class="block">Indicates whether there is an assignment conversion from a source <code>Type</code> to this type.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isAssignableFromTypeOf-T-">isAssignableFromTypeOf</a></span>(T&nbsp;value)</code>
<div class="block">Indicates whether there is an assignment conversion from the type of <code>value</code> to this
 type.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isBoxedPrimitive--">isBoxedPrimitive</a></span>()</code>
<div class="block">Indicates whether this is a boxed primitive type.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isClass--">isClass</a></span>()</code>
<div class="block">Indicates whether this type is the Class type.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isClassOrInterfaceType--">isClassOrInterfaceType</a></span>()</code>
<div class="block">Indicate whether this type is a class or interface type.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isEnum--">isEnum</a></span>()</code>
<div class="block">Indicates whether this is an enum type.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isGeneric--">isGeneric</a></span>()</code>
<div class="block">Indicate whether this type is generic.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isInterface--">isInterface</a></span>()</code>
<div class="block">Indicates whether this object is an interface type</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isNonreceiverType--">isNonreceiverType</a></span>()</code>
<div class="block">Indicates whether this is a primitive type.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isObject--">isObject</a></span>()</code>
<div class="block">Indicate whether this is the <code>Object</code> type.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isParameterized--">isParameterized</a></span>()</code>
<div class="block">Indicate whether this type is a parameterized type.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isPrimitive--">isPrimitive</a></span>()</code>
<div class="block">Indicates whether this is a primitive type.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isRawtype--">isRawtype</a></span>()</code>
<div class="block">Indicate whether this type is a rawtype of a generic class.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isReferenceType--">isReferenceType</a></span>()</code>
<div class="block">Indicates whether this is a reference type.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isString--">isString</a></span>()</code>
<div class="block">Indicates whether this type is the String type.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isSubtypeOf-randoop.types.Type-">isSubtypeOf</a></span>(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;otherType)</code>
<div class="block">Test whether this type is a subtype of the given type according to transitive closure of
 definition of the <i>direct supertype</i> relation in <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.10">section 4.10 of
 JLS for Java SE 8</a>.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isVariable--">isVariable</a></span>()</code>
<div class="block">Indicates whether this type is a type variable.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#isVoid--">isVoid</a></span>()</code>
<div class="block">Indicate whether this type is void.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/Type.html#runtimeClassIs-java.lang.Class-">runtimeClassIs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;c)</code>
<div class="block">Indicates whether the given <code>Class&lt;?&gt;</code> object is the runtime class of this type.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Type--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Type</h4>
<pre>public&nbsp;Type()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="forClass-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forClass</h4>
<pre>public static&nbsp;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;forClass(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;classType)</pre>
<div class="block">Translates a <code>Class</code> into a <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> object. For primitive types, creates a <a href="../../randoop/types/PrimitiveType.html" title="class in randoop.types"><code>PrimitiveType</code></a> object. For reference types, delegates to <a href="../../randoop/types/ReferenceType.html#forClass-java.lang.Class-"><code>ReferenceType.forClass(Class)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classType</code> - the <code>Class</code> object for the type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>Type</code> object for the given reflection type</dd>
</dl>
</li>
</ul>
<a name="forName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forName</h4>
<pre>public static&nbsp;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;forName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;typeName)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
<div class="block">Returns a <code>Type</code> object for the given type name in <a
 href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getName--"><code>Class.getName</code></a> format. Uses reflection to find the corresponding type.

 <p>Note that <a href="../../randoop/types/Type.html#getName--"><code>getName()</code></a> does not return the type name in this format. To get the
 name in this format from a <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> object <code>t</code>, use <code>t.getRuntimeClass().getName()</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeName</code> - the name of a type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type object for the type with the name, null if none is found</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code> - if name is not a recognized type</dd>
</dl>
</li>
</ul>
<a name="forValue-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forValue</h4>
<pre>public static&nbsp;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;forValue(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block">Returns the type for the given Object reference.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the Object value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> for the given value</dd>
</dl>
</li>
</ul>
<a name="forType-java.lang.reflect.Type-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forType</h4>
<pre>public static&nbsp;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;forType(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type)</pre>
<div class="block">Returns a type constructed from the object referenced by a <code>java.lang.reflect.Type</code>
 reference.

 <p>Note that when the type corresponds to a generic class type, this method returns the type
 variables from the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/ParameterizedType.html?is-external=true#getActualTypeArguments--" title="class or interface in java.lang.reflect"><code>getActualTypeArguments()</code></a> method to maintain the guarantees needed for <a href="../../randoop/types/ClassOrInterfaceType.html#isSubtypeOf-randoop.types.Type-"><code>ClassOrInterfaceType.isSubtypeOf(Type)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - the type to interpret</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> object corresponding to the given type</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the type is a <code>java.lang.reflect.WildcardType</code></dd>
</dl>
</li>
</ul>
<a name="getRuntimeClass--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRuntimeClass</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;getRuntimeClass()</pre>
<div class="block">Returns the runtime <code>Class</code> object for this type. For use when reflection is needed.

 <p>Note that type variables and the null reference type do not have a runtime class, and this
 method will return null in those cases.

 <p>This method should not be confused with the inherited <code>Object.getClass()</code> method,
 which returns the <code>Class&lt;?&gt;</code> for the <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> object, and not of the represented
 type. For instance, if a <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> object <code>t</code> represented the Java type <code>int</code>,
 then <code>t.getRuntimeClass()</code> would return <code>int.class</code> while <code>t.getClass()</code>
 would return <code>Type.class</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Class</code></a> that is the runtime representation of the type, or null if this type
     is a type variable or null reference type</dd>
</dl>
</li>
</ul>
<a name="getName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
<div class="block">Returns the fully-qualified name of this type, including type arguments if this is a
 parameterized type. For <code>java.util.List&lt;T&gt;</code> return <code>"java.util.List&lt;T&gt;"</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the fully-qualified type name for this type</dd>
</dl>
</li>
</ul>
<a name="getSimpleName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSimpleName</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSimpleName()</pre>
<div class="block">Returns the name of this type without type arguments or package qualifiers. For <code>java.util.List&lt;T&gt;</code>, returns <code>"List"</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of this type without type arguments</dd>
</dl>
</li>
</ul>
<a name="getCanonicalName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCanonicalName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCanonicalName()</pre>
<div class="block">Returns the name of this type as the "canonical name" of the underlying runtime class.
 Identical to <a href="../../randoop/types/Type.html#getName--"><code>getName()</code></a> except for types with type arguments. For <code>java.util.List&lt;T&gt;</code> returns <code>"java.util.List"</code>. Returns <code>null</code> when <code>Class&lt;?&gt;.getCanonicalName()</code> does for the underlying <code>Class&lt;?&gt;</code> object (e.g., the type is
 a local or anonymous class, or array type where the component type that has no canonical name).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the fully-qualified canonical name of this type</dd>
</dl>
</li>
</ul>
<a name="getUnqualifiedName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnqualifiedName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getUnqualifiedName()</pre>
<div class="block">Returns the name of this type without package name, but with type arguments if parameterized,
 and enclosing class if a member class. For instance, for <code>java.util.List&lt;T&gt;</code> would return
 <code>"List&lt;T&gt;"</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the unqualified name of this type</dd>
</dl>
</li>
</ul>
<a name="getRawtype--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawtype</h4>
<pre>public&nbsp;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;getRawtype()</pre>
<div class="block">Returns the raw type for this type, which is this type except for generic types.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the raw type corresponding to this type</dd>
</dl>
</li>
</ul>
<a name="runtimeClassIs-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>runtimeClassIs</h4>
<pre>public&nbsp;boolean&nbsp;runtimeClassIs(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;c)</pre>
<div class="block">Indicates whether the given <code>Class&lt;?&gt;</code> object is the runtime class of this type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - the <code>Class&lt;?&gt;</code> to check</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if <code>c</code> is the runtime <code>Class&lt;?&gt;</code> of this type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isArray--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isArray</h4>
<pre>public&nbsp;boolean&nbsp;isArray()</pre>
<div class="block">Indicates whether this object represents an array type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this object represents an array type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isBoxedPrimitive--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBoxedPrimitive</h4>
<pre>public&nbsp;boolean&nbsp;isBoxedPrimitive()</pre>
<div class="block">Indicates whether this is a boxed primitive type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a boxed primitive, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isClass--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClass</h4>
<pre>public&nbsp;boolean&nbsp;isClass()</pre>
<div class="block">Indicates whether this type is the Class type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is the Class type, and false otherwise</dd>
</dl>
</li>
</ul>
<a name="isEnum--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEnum</h4>
<pre>public&nbsp;boolean&nbsp;isEnum()</pre>
<div class="block">Indicates whether this is an enum type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this is an enum type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isGeneric--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isGeneric</h4>
<pre>public&nbsp;boolean&nbsp;isGeneric()</pre>
<div class="block">Indicate whether this type is generic. A type is <i>generic</i> if it has one or more type
 variables.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is generic, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isInterface--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInterface</h4>
<pre>public&nbsp;boolean&nbsp;isInterface()</pre>
<div class="block">Indicates whether this object is an interface type</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this object is an interface type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isObject--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isObject</h4>
<pre>public&nbsp;boolean&nbsp;isObject()</pre>
<div class="block">Indicate whether this is the <code>Object</code> type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this is the <code>Object</code> type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isString</h4>
<pre>public&nbsp;boolean&nbsp;isString()</pre>
<div class="block">Indicates whether this type is the String type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is the String type, and false otherwise</dd>
</dl>
</li>
</ul>
<a name="isVoid--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isVoid</h4>
<pre>public&nbsp;boolean&nbsp;isVoid()</pre>
<div class="block">Indicate whether this type is void.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is void, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isParameterized--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isParameterized</h4>
<pre>public&nbsp;boolean&nbsp;isParameterized()</pre>
<div class="block">Indicate whether this type is a parameterized type. (A <i>parameterized type</i> is a type
 <code>C&lt;T1,...,Tk&gt;</code> that instantiates a generic class <code>C&lt;F1,...,Fk&gt;</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a parameterized type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isPrimitive--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPrimitive</h4>
<pre>public&nbsp;boolean&nbsp;isPrimitive()</pre>
<div class="block">Indicates whether this is a primitive type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is primitive, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isNonreceiverType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNonreceiverType</h4>
<pre>public&nbsp;boolean&nbsp;isNonreceiverType()</pre>
<div class="block">Indicates whether this is a primitive type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is primitive, false otherwise</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../randoop/operation/NonreceiverTerm.html" title="class in randoop.operation"><code>NonreceiverTerm</code></a>, 
<a href="../../randoop/operation/NonreceiverTerm.html#isNonreceiverType-java.lang.Class-"><code>NonreceiverTerm.isNonreceiverType(java.lang.Class&lt;?&gt;)</code></a></dd>
</dl>
</li>
</ul>
<a name="isRawtype--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRawtype</h4>
<pre>public&nbsp;boolean&nbsp;isRawtype()</pre>
<div class="block">Indicate whether this type is a rawtype of a generic class. The rawtype is the runtime type of
 the class that has type parameters erased.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a rawtype of a generic class, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isReferenceType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReferenceType</h4>
<pre>public&nbsp;boolean&nbsp;isReferenceType()</pre>
<div class="block">Indicates whether this is a reference type. Note: implementing classes should ensure that this
 is equivalent to !(this.isPrimitive())</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a reference type, and false otherwise</dd>
</dl>
</li>
</ul>
<a name="isVariable--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isVariable</h4>
<pre>public&nbsp;boolean&nbsp;isVariable()</pre>
<div class="block">Indicates whether this type is a type variable.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a type variable, false otherwise</dd>
</dl>
</li>
</ul>
<a name="apply-randoop.types.Substitution-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>public&nbsp;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;apply(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</pre>
<div class="block">Returns the type created by instantiating the type parameters of this type with <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a> objects. Simply returns this type if it has no type parameters. In otherwords,
 this type is not a <a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types"><code>ParameterizedType</code></a>, which includes <a href="../../randoop/types/GenericClassType.html" title="class in randoop.types"><code>GenericClassType</code></a>.

 <p>There are contexts in which it is necessary to apply a substitution to a <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> and it
 is not clear whether the type is parameterized. In particular, this method is defined here
 because <a href="../../randoop/types/ArrayType.html" title="class in randoop.types"><code>ArrayType</code></a> can hold arbitrary types, including type variables and parameterized
 types.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>substitution</code> - the type substitution</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> constructed by substituting for type parameters in this type, or this
     type if this is not a generic class type</dd>
</dl>
</li>
</ul>
<a name="applyCaptureConversion--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyCaptureConversion</h4>
<pre>public&nbsp;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;applyCaptureConversion()</pre>
<div class="block">Applies a capture conversion to this type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this type with wildcards replaced by type conversion</dd>
</dl>
</li>
</ul>
<a name="isAssignableFrom-randoop.types.Type-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAssignableFrom</h4>
<pre>public&nbsp;boolean&nbsp;isAssignableFrom(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;sourceType)</pre>
<div class="block">Indicates whether there is an assignment conversion from a source <code>Type</code> to this type.
 (In other words, a value of the source type can be assigned to an l-value of this type.)
 Returns true if this is a legal assignment conversion: <code>
 Variable<sub>this</sub> = Expression<sub>sourcetype</sub>.
 </code>

 <p>Based on the definition of <i>assignment context</i> in <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.2">section 5.2 of the
 JDK 8 Java Language Specification</a>, a value of one type is assignable to a variable of
 another type if the first type can be converted to the second by

 <ul>
   <li>an identity conversion (section 5.1.1),
   <li>a widening primitive conversion (section 5.1.2),
   <li>a widening reference conversion (section 5.1.5),
   <li>a boxing conversion (5.1.7), or
   <li>an unboxing conversion (section 5.1.8) possibly followed by a widening conversion.
 </ul>

 And, if after all those conversions, the type is a raw type, an unchecked conversion may occur.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceType</code> - the type to test for assignability</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type can be assigned from the source type, and false otherwise</dd>
</dl>
</li>
</ul>
<a name="isAssignableFromTypeOf-java.lang.Object-">
<!--   -->
</a><a name="isAssignableFromTypeOf-T-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAssignableFromTypeOf</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;boolean&nbsp;isAssignableFromTypeOf(T&nbsp;value)</pre>
<div class="block">Indicates whether there is an assignment conversion from the type of <code>value</code> to this
 type. (Note this is equivalent to determining whether <code>value</code> can be assigned to an
 l-value of this type.) If the reference is null, then returns true only if this type is not
 primitive.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the value</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the element to check</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the type of <code>value</code> is assignable to this type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isSubtypeOf-randoop.types.Type-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSubtypeOf</h4>
<pre>public&nbsp;boolean&nbsp;isSubtypeOf(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;otherType)</pre>
<div class="block">Test whether this type is a subtype of the given type according to transitive closure of
 definition of the <i>direct supertype</i> relation in <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.10">section 4.10 of
 JLS for Java SE 8</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>otherType</code> - the possible supertype</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a subtype of the given type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isClassOrInterfaceType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClassOrInterfaceType</h4>
<pre>public&nbsp;boolean&nbsp;isClassOrInterfaceType()</pre>
<div class="block">Indicate whether this type is a class or interface type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a class or interface type; false, otherwise</dd>
</dl>
</li>
</ul>
<a name="compareTo-randoop.types.Type-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>compareTo</h4>
<pre>public&nbsp;int&nbsp;compareTo(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;type)</pre>
<div class="block">Compare this <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> to another. Uses the names of the underlying <code>Class&lt;?&gt;</code>
 objects. Uses canonical names if both have them, otherwise uses <code>Class&lt;?&gt;.getName()</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - the type to compare against</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>-1 if this type precedes <code>type</code>, 1 if this type succeeds <code>type</code>, and 0 if
     they are equal.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../randoop/types/Substitution.html" title="class in randoop.types"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../randoop/types/TypeArgument.html" title="class in randoop.types"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?randoop/types/Type.html" target="_top">Frames</a></li>
<li><a href="Type.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
